home *** CD-ROM | disk | FTP | other *** search
/ Windows 3-Pak - Disc 3 / Infomagic - Windows 3-Pak (Disc 3 of 3).iso / Telnet-Clients / HOSTACCESS.exe / MISC.1 / INSTALL.BOT < prev    next >
Text File  |  1998-12-04  |  9KB  |  300 lines

  1. * $Workfile:   INSTALL.BOT  $
  2. * $Revision:   1.0.1.4  $
  3. *  $Modtime:   04 Dec 1998 17:29:04  $
  4. *
  5. FNPRG="PIX.PROGS.F";HP=""
  6. HP<1>="PIX.INSTALL.HOST";HP<2>="PIX_INSTALL_HOST"
  7. HP<3>="INSTALL.HST"
  8. HP<4>="PIX.INSTALL.USER";HP<5>="PIX_INSTALL_USER"
  9. HP<6>="INSTALL.USR"
  10. CFP="CREATE-FILE";CFPI="CREATE.FILE"
  11. DIM FLS(6,4);NBR.FLS=6
  12. FLS(1,1)="PIX.CONTROL.F";FLS(1,2)="PIX_CONTROL_F";FLS(1,3)="1,1 17,1"
  13. FLS(2,1)="PIX.TEXT.F";FLS(2,2)="PIX_TEXT_F";FLS(2,3)="2,1 17,1"
  14. FLS(3,1)="PIX.DB.F";FLS(3,2)="PIX_CONTROL_F";FLS(3,3)="3,1 11,1"
  15. FLS(4,1)="PIX.EASY.ACCESS.F";FLS(4,2)="PIX_EASY_ACCESS_F";FLS(4,3)="4,1 11,1"
  16. FLS(5,1)="PIX.TRANSFER.F";FLS(5,2)="PIX_TRANSFER_F";FLS(5,3)="5,1 17,3"
  17. FLS(6,1)="PIX.GUI.FORM.F";FLS(6,2)="PIX_GUI_FORM_F";FLS(6,3)="2,1 17,1"
  18. FOR X=1 TO NBR.FLS;FLS(X,4)="DYNAMIC";NEXT X
  19. PDP="PIX.DOS.PICK";PDPU="PIX_DOS_PICK"
  20. PRINT @(0):;* unidata bug !!
  21. OPEN "",FNPRG TO PIX.PROGS.F ELSE
  22.   PRINT FNPRG:" has not been created, please create correctly"
  23.   PRINT "as a programs file"
  24.   STOP
  25. END
  26. MSG="";STX=CHAR(2);UNIPATH=""
  27. ON.16=0
  28. PROMPT ""
  29. ESC=CHAR(27);AX=ESC:"[=";AE=ESC:"\";AM=CHAR(254);DUM=@(0,0)
  30. CLS=ESC:"[H":ESC:"[J";POS1=ESC:"[2;1H";POS2=CLS:POS1
  31. POS3=ESC:"[3;1H";POS4=ESC:"[1;1H";HIDE=AX:"13l";SHOW=AX:"13h"
  32. PRINT HIDE:AX:"6n":;INPUT XX:;INPUT CLR:;PRINT SHOW:
  33. IF CLR THEN
  34.   WCOL="1;37;44";NCOL="0;30;47";SCOL="0;31;47";HCOL="1;37;41"
  35. END ELSE
  36.   WCOL="0;30;47";NCOL=WCOL;SCOL="1;37;47";HCOL="1;37;40"
  37. END
  38. PRINT CLS:
  39. PRINT AX:"2;2;23;79;1;":WCOL:"u":
  40. PRINT AX:"12;176h":CLS:
  41. PRINT AX:"24;1l":
  42. PRINT AX:"97;":NCOL:"m":AX:"98;":SCOL:"m":
  43. PRINT AX:"99;":HCOL:"m":
  44. PRINT AX:"4;7;4;72;65;":NCOL:"u":
  45. PRINT ESC:"_CSelect Host System you are installing to":AE:
  46. PRINT AX:"1v":
  47. PRINT ESC:"_1;10;27;10;65;1SMachine Types;PRIME &Information - PI/Open;":
  48. PRINT "Uni&Data on Unix;Unidata on &NT":
  49. PRINT ";Uni&Verse on Unix;&Universe on NT;Ultimate;MDIS;C-ITOH && GA":
  50. PRINT ";ADDS Mentor;R83 and ALL others":AE:
  51. PRINT AX:"23;1h":
  52. PRINT HIDE:
  53. EXECUTE "CONTROL-CHARS ON"
  54. EXECUTE "BASICTYPE 'P'"
  55. INPUT KY:;KY=KY[2,2]
  56. INPUT MTYPE:
  57. ENVIR="";ENVIR<1>=MTYPE
  58. PRINT SHOW:
  59. IF KY="ES" THEN MSG="Install Aborted By Pressing Escape";GOTO 55
  60. PRINT AX:"4;7;6;72;65;":NCOL:"u":
  61. PRINT ESC:"_WHOSTACCESS Host Programs Installation":AE:
  62. PRINT ESC:"_UPress 'Q' to quit this stage of installation":AE:
  63. *
  64. PRINT HIDE:ESC:"[=9;9n":
  65. LOOP INPUT RE UNTIL INDEX(RE,STX,1) DO REPEAT
  66. INPUT TRD
  67. *
  68. PRINT POS2:
  69. PRINT ESC:"_G":TRD:"\HOST.EXE":AE:
  70. LOOP INPUT RE UNTIL INDEX(RE,STX,1) DO REPEAT
  71. INPUT CODE ;PRINT SHOW:
  72. PRINT POS2:
  73. IF CODE = 1 THEN ON.16=1
  74. *
  75. MSG="Install aborted by User"
  76. 10 PRINT POS2:
  77. PRINT "Enter path to the drive you are installing from : ":
  78. INPUT FL
  79. IF FL="Q" THEN GOTO 50
  80. *
  81. LFL=LEN(FL)
  82. IF FL[LFL,1] = "\" THEN FL = FL[1,LFL-1]
  83. *
  84. X = COUNT(FL,'\')+(FL <> "")
  85. INST.DIR = FIELD(FL,'\',X)
  86. *
  87. IF LEN(INST.DIR) > 8 AND ON.16 THEN
  88.   PRINT POS1:"16bit HOSTACCESS does not support long Directory names ":INST.DIR
  89.   INPUT RE:
  90.   IF RE="Q" THEN GOTO 50
  91.   FL = ""
  92.   GOTO 10
  93. END
  94. *
  95. PRINT POS2:
  96. PRINT HIDE:
  97. PRINT ESC:"_G":FL:"\HOSTPROG.EXE":AE:
  98. LOOP INPUT RE UNTIL INDEX(RE,STX,1) DO REPEAT
  99. INPUT CODE ;PRINT SHOW:
  100. PRINT POS2:
  101. IF CODE # 1 THEN
  102.   PRINT POS1:"Incorrect path entered ":FL:" , press <return> to retry ":
  103.   INPUT RE:
  104.   IF RE="Q" THEN GOTO 50
  105.   GOTO 10
  106. END
  107. PRINT ESC:"_U":ESC:"\":
  108. PRINT ESC:"_UNow decompressing host programs to hard disk":ESC:"\":
  109. PRINT ESC:"_E":TRD:"\PIXINIT.CTL":AE:
  110. PRINT HIDE:
  111. PRINT ESC:"_1e":FL:"\HOSTPROG.EXE":AE
  112. LOOP INPUT RE UNTIL INDEX(RE,STX,1) DO REPEAT
  113. INPUT CODE
  114. * wait for end of decompress *
  115. SLEEP 5
  116. PRINT ESC:"_0;9D":TRD:'\HOSTP HOSTPROG HOSTPROG':AE:
  117. PRINT SHOW:
  118. PRINT ESC:"_Uchecking decompression completed ...":ESC:"\":
  119. DECOMP=0
  120. LOOP
  121.   RQM
  122. UNTIL DECOMP DO
  123.   PRINT HIDE:ESC:"_G":TRD:"\PIXINIT.CTL":AE:
  124.   LOOP INPUT RE UNTIL INDEX(RE,STX,1) DO REPEAT
  125.   INPUT CODE ;PRINT SHOW:
  126.   IF CODE=1 THEN DECOMP=1
  127. REPEAT
  128. PRINT ESC:"_E":TRD:"\PIXINIT.CTL":AE:
  129. PRINT ESC:"_U":ESC:"\":
  130. *
  131. IF MTYPE=2 THEN
  132.   D1="Specify the full UNIX or VMS path for this UNIDATA Account"
  133.   D2="( eg /usr/hostaccess or UDT_HOME:[HOSTACCESS] )"
  134.   15 PRINT POS2:D2:POS4:D1:
  135.   PRINT POS3:"Enter full path or 'Q'uit : ":
  136.   INPUT UNIPATH
  137.   IF UNIPATH="" THEN GOTO 15
  138.   IF UNIPATH="Q" OR UNIPATH="q" THEN GOTO 50
  139.   IF NOT(INDEX(UNIPATH,":[",1)) THEN
  140.     IF UNIPATH[LEN(UNIPATH),1]#"/" THEN UNIPATH=UNIPATH:"/"
  141.   END ELSE
  142.     IF UNIPATH[LEN(UNIPATH),1]#"\" THEN UNIPATH=UNIPATH:"\"
  143.   END
  144.   D3="Path will be taken as :"
  145.   PRINT POS2:D3:POS4:UNIPATH:
  146.   PRINT POS3:"Press enter to accept, 'M'odify or 'Q'uit : ":
  147.   INPUT RESP,1
  148.   IF RESP="M" OR RESP="m" THEN GOTO 15
  149.   IF RESP="Q" OR RESP="q" THEN GOTO 50
  150.   IF RESP#"" THEN GOTO 15
  151. END
  152. *
  153. IF MTYPE=3 OR MTYPE=5 THEN
  154.   IF MTYPE=3 THEN
  155.     D1="Specify the full NT path for this UNIDATA Account"
  156.     D2="( eg c:\udt\hostaccess )"
  157.   END ELSE
  158.     D1="Specify the full NT path for this UniVerse Account"
  159.     D2="( eg c:\UV\hostaccess )"
  160.   END
  161.   16 PRINT POS2:D2:POS4:D1:
  162.   PRINT POS3:"Enter full path or 'Q'uit : ":
  163.   INPUT UNIPATH
  164.   IF UNIPATH="" THEN GOTO 15
  165.   IF UNIPATH="Q" OR UNIPATH="q" THEN GOTO 50
  166.   IF UNIPATH[LEN(UNIPATH),1]#"\" THEN UNIPATH=UNIPATH:"\"
  167.   D3="Path will be taken as :"
  168.   PRINT POS2:D3:POS4:UNIPATH:
  169.   PRINT POS3:"Press enter to accept, 'M'odify or 'Q'uit : ":
  170.   INPUT RESP,1
  171.   IF RESP="M" OR RESP="m" THEN GOTO 16
  172.   IF RESP="Q" OR RESP="q" THEN GOTO 50
  173.   IF RESP#"" THEN GOTO 15
  174. END
  175. *
  176. PRINT CLS:
  177. PRINT POS1:"Creating files PIX.CONTROL.F and PIX.TEXT.F, please wait ..":
  178. PRINT AX:"1h":
  179. LOC="";SIZ=30000;CH.255=0;PICK=1
  180. IF MTYPE=1 OR MTYPE=2 OR MTYPE=3 OR MTYPE=4 OR MTYPE=5 THEN
  181.   IF MTYPE=2 OR MTYPE=3 OR MTYPE=4 OR MTYPE=5 THEN
  182.     OPEN "","VOC" TO VOC ELSE PRINT AX:"1l":"NO VOC FILE";STOP
  183.     LOC=" LOCAL COMPLETE"
  184.     IF MTYPE=2 OR MTYPE=3 THEN LOC=" DIRECT FORCE"
  185.     READV FLAV FROM VOC,"RELLEVEL",3 ELSE FLAV=""
  186.     IF FLAV="INFORMATION" OR FLAV="NEWACC" THEN PICK=0
  187.   END
  188.   IF MTYPE=1 THEN PICK=0
  189.   SIZ=5000000;CH.255=1
  190. END
  191. *build files*
  192. FNPTR=1;VB=CFP;FSPTR=3
  193. IF MTYPE=1 THEN VB=CFPI;FSPTR=4
  194. IF MTYPE=2 THEN VB=CFPI;FNPTR=2
  195. IF MTYPE=4 AND NOT(PICK) THEN VB=CFPI;FSPTR=4
  196. FOR X=1 TO NBR.FLS
  197.   FN=FLS(X,FNPTR);FS=FLS(X,FSPTR)
  198.   OPEN "",FN TO TESTIT ELSE
  199.     EXECUTE VB:" ":FN:" ":FS
  200.     IF MTYPE=2 OR MTYPE=3 THEN
  201.       DATA "Y"
  202.       EXECUTE "SETFILE ":UNIPATH:FN:" ":FLS(X,1):" OVERWRITING"
  203.     END
  204.   END
  205. NEXT X
  206. *
  207. PRINT CLS:AX:"1l":
  208. *
  209. FN=FLS(1,1)
  210. OPEN "",FN TO PIX.CONTROL.F ELSE
  211.   MSG="Error creating File(s), please ensure correct host type"
  212.   GOTO 50
  213. END
  214. *
  215. PRINT CLS:ESC:"_0;":HCOL:"WLoading bootstrap Stage":AE:
  216. PRINT POS1:"Compiling ECHO programs":
  217. PRINT HIDE:
  218. EON="ECHO ON";EOFF="ECHO OFF"
  219. IF MTYPE=1 OR MTYPE=2 OR MTYPE=3 THEN
  220.   EON="EXECUTE 'PTERM -FULL'";EOFF="EXECUTE 'PTERM -HALF NOLF'"
  221. END
  222. WRITE EON:AM:"END" ON PIX.PROGS.F,"EON"
  223. WRITE EOFF:AM:"END" ON PIX.PROGS.F,"EOFF"
  224. EXECUTE "BASIC ":FNPRG:" EON"
  225. EXECUTE "BASIC ":FNPRG:" EOFF"
  226. PRINT SHOW:
  227. PXDP=PDP;IF MTYPE=2 OR MTYPE=3 THEN PXDP=PDPU
  228. 20 PRINT POS2:"Uploading ":PXDP:" via loader ...."
  229. LPROG="PIX.LOADER"
  230. IF MTYPE=2 OR MTYPE=3 THEN LPROG="PIX_LOADER"
  231. DFN=TRD:"\HOSTPROG\DOSPICK.PRG"
  232. PRINT HIDE:
  233. CALL @LPROG(PXDP,TRD:"\HOSTPROG\DOSPICK.PRG")
  234. PRINT SHOW:
  235. READV TEST FROM PIX.PROGS.F,PXDP,1 ELSE
  236.   PRINT POS2:
  237.   PRINT "Error uploading ":PXDP:", (R)etry or (Q)uit :":
  238.   INPUT RE
  239.   IF RE="Q" OR RE="q" THEN GOTO 50
  240.   GOTO 20
  241. END
  242. *
  243. ENVIR<8>=UNIPATH
  244. ENVIR<4>=SIZ;ENVIR<5>=CH.255
  245. WRITE ENVIR ON PIX.CONTROL.F,"ENVIRONMENT"
  246. *
  247. PRINT POS2:"Now Compiling BASIC program ":PXDP:" ...":
  248. PRINT HIDE:
  249. EXECUTE "BASIC PIX.PROGS.F ":PXDP
  250. SLEEP 2
  251. EXECUTE "CATALOG PIX.PROGS.F ":PXDP:LOC
  252. IF MTYPE=2 OR MTYPE=3 THEN
  253.   READ CAT.REC FROM VOC,PXDP ELSE
  254.     PRINT SHOW:"NO VOC CATALOG ENTRY FOR ":PXDP
  255.     STOP
  256.   END
  257.   WRITE CAT.REC ON VOC,PDP
  258. END
  259. PRINT SHOW:
  260. *
  261. FOR CTR=1 TO 4 STEP 3
  262.   REC="";ST="";ER=""
  263.   PXIH=HP<CTR>;IF MTYPE=2 OR MTYPE=3 THEN PXIH=HP<CTR+1>
  264.   PRINT POS2:"Now uploading ":PXIH:" using PIX.DOS.PICK ....":AE:
  265.   DFN=TRD:"\HOSTPROG\":HP<CTR+2>
  266.   CALL PIX.DOS.PICK(DFN,REC,"H!",PXIH,ST,ER)
  267.   IF ST<1> > 0 OR ER > 0 THEN
  268.     MSG=PXDP:" ":PXIH:" failure, check protocol links";GOTO 50
  269.   END
  270.   WRITE REC ON PIX.PROGS.F,PXIH
  271.   PRINT POS2:"Now Compiling BASIC program ":PXIH:" ...."
  272.   PRINT HIDE:
  273.   EXECUTE "BASIC PIX.PROGS.F ":PXIH
  274.   EXECUTE "CATALOG PIX.PROGS.F ":PXIH:LOC
  275.   IF MTYPE=2 THEN
  276.     READ CAT.REC FROM VOC,PXIH ELSE
  277.       PRINT SHOW:"NO VOC CATALOG ENTRY FOR ":PXIH
  278.       STOP
  279.     END
  280.     WRITE CAT.REC ON VOC,HP<CTR>
  281.   END
  282. NEXT CTR
  283. *
  284. PRINT SHOW:
  285. PRINT ESC:"_W":AE:
  286. ENVIR<6>=FL
  287. ENVIR<7>="INSTALL"
  288. WRITE ENVIR ON PIX.CONTROL.F,"ENVIRONMENT"
  289. IF MTYPE=2 OR MTYPE=3 THEN
  290.   CHAIN "PIX_INSTALL_HOST"
  291. END ELSE
  292.   CHAIN "PIX.INSTALL.HOST"
  293. END
  294. *
  295. *
  296. 50 PRINT AX:"v":
  297. 55 PRINT AX:"23l":AX:"v":
  298. PRINT MSG;STOP
  299. END
  300.